package vip.xiaonuo.supplier.modular.warehouse.storesstream.param;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Getter;
import lombok.Setter;

/**
 * 库存流水查询参数
 *
 * @author Mr.wu
 * @date  2025/03/19 09:49
 **/
@Getter
@Setter
public class SupplierStoresStreamExportParam {

    /** 当前页 */
    @Schema(description = "当前页码")
    private Integer current;

    /** 每页条数 */
    @Schema(description = "每页条数")
    private Integer size;

    /** 排序字段 */
    @Schema(description = "排序字段，字段驼峰名称，如：userName")
    private String sortField;

    /** 排序方式 */
    @Schema(description = "排序方式，升序：ASCEND；降序：DESCEND")
    private String sortOrder;

    /** 关键词 */
    @Schema(description = "关键词")
    private String searchKey;

    /** 商品ID */
    @Schema(description = "商品ID")
    private String streamProductionId;

    /** 商品条码 */
    @Schema(description = "商品条码")
    private String streamProductionBarcode;

    /** 商品名称 */
    @Schema(description = "商品名称")
    private String streamProductionName;

    /** 门店ID */
    @Schema(description = "门店ID")
    private String streamStoreId;

    /** 业务类型 */
    @Schema(description = "业务类型")
    private String streamBusinessType;

    /** 业务对象 */
    @Schema(description = "业务对象")
    private String streamObjectId;

    /** 商品库关键字 */
    @Schema(description = "商品库关键字")
    private String productionSearchKey;

    /** 创建时间开始 */
    @Schema(description = "创建时间开始")
    private String startCreateTime;

    /** 创建时间结束 */
    @Schema(description = "创建时间结束")
    private String endCreateTime;

    /** 库存流水id集合 */
    @Schema(description = "库存流水id集合")
    private String ids;

    /** 是否按商品汇总 */
    @Schema(description = "是否按商品汇总")
    private Boolean isHavingByProduction;

    /** 是否按门店汇总 */
    @Schema(description = "是否按门店汇总")
    private Boolean isHavingByStore;

    /** 是否按仓库汇总 */
    @Schema(description = "是否按仓库汇总")
    private Boolean isHavingByStorage;

    /** 是否按批次汇总 */
    @Schema(description = "是否按批次汇总")
    private Boolean isHavingByProductionBatch;

    /** 是否按生产日期汇总 */
    @Schema(description = "是否按生产日期汇总")
    private Boolean isHavingByDateManufacture;

    /** 是否按供应商汇总 */
    @Schema(description = "是否按供应商汇总")
    private Boolean isHavingBySupplier;

    /** 是否按库位汇总 */
    @Schema(description = "是否按库位汇总")
    private Boolean isHavingByStoreLocation;

    /** 是否按业务类型汇总 */
    @Schema(description = "是否按业务类型汇总")
    private Boolean isHavingByBusinessType;
}
